package com.sunny.example;

import java.util.*;
import java.util.function.BiConsumer;

/**
 * 合并表记录
 * 描述
 * 数据表记录包含表索引index和数值value（int范围的正整数），请对表索引相同的记录进行合并，即将相同索引的数值进行求和运算，输出按照index值升序进行输出。
 * <p>
 * <p>
 * 提示:
 * 0 <= index <= 11111111
 * 1 <= value <= 100000
 * <p>
 * 输入描述：
 * <p>
 * 先输入键值对的个数n（1 <= n <= 500）
 * 接下来n行每行输入成对的index和value值，以空格隔开
 * 输出描述：
 * <p>
 * 输出合并后的键值对（多行）
 */
public class HJ8 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int count = scanner.nextInt();
        HashMap<Integer, Integer> hashMap = new HashMap<>(count);
        while (scanner.hasNextInt()) {
            for (int i = 0; i < count; i++) {
                int index = scanner.nextInt();
                int value = scanner.nextInt();
                if (hashMap.containsKey(index)) {
                    hashMap.put(index, hashMap.get(index) + value);
                } else
                    hashMap.put(index, value);
            }
        }
        output(hashMap);

    }

    private static void output(HashMap<Integer, Integer> hashMap) {
        /*hashMap.forEach(new BiConsumer<Integer, Integer>() {
            @Override
            public void accept(Integer index, Integer value) {
                System.out.println(index + " " + value);
            }
        });*/

        for (Integer index : hashMap.keySet()) {
            System.out.println(index + " " + hashMap.get(index));
        }
    }
}
